This invention relates to a cluster system, and more particularly to a method for increasing the bandwidth of such a system.
A cluster system may combine, for example, three to five processors (or nodes) that are interconnected via a fast ethernet topology to deliver high resolution digital video streams as a single video delivery system. The cluster system architecture provides access to video streams as data objects, with each node capable of managing its own file system and the cluster-wide file system. The nodes are typically loosely coupled and have data objects striped across the cluster system. In an implementation, the data objects are fragmented and written to the nodes of the cluster using RAID-5 striping and parity techniques. Thus, if one node fails, then the cluster system can recreate any lost data from the parity data using an EXCLUSIVE-OR (XOR) operation and continue to operate without an interruption of service. The XOR method is a logical operation that may be applied to binary data.
Computer programs in a cluster system use application programming interfaces (APIs) to record and playback media files from specialized media hardware interfaces. The media data streaming through these special hardware interfaces is known as service bandwidth. Service bandwidth may be defined as the rate at which data is being delivered from a node to an external system.
The cluster system storage capacity and service bandwidth capacity can each be scaled up by adding disks to each node in the cluster, and/or by adding additional nodes to the cluster system. As each new node is added, any media content on the newly-added node is added (merged) into the on-line cluster system inventory. However, a need exists to inexpensively provide greater service bandwidth.
Presented is a method for increasing service bandwidth in a cluster system having at least three nodes. The method includes storing data according to a distributed, redundant process, skipping one remote node when redundant data is stored on a reading node, and reading data from the cluster system using a stripe row reading process by applying an XOR operation to the redundant portion stored on the reading node.
The method may include one or more of the following features. A different node may be skipped each time the XOR operation is used to balance the read operation. Each portion of the redundant data may be stored in a round-robin manner in each node of the cluster system. The method may be disabled if one of the nodes fails.
Another implementation of the invention is a technique for operating a cluster system having at least three nodes to increase the service bandwidth when operating in a non-degraded mode. The technique includes storing data input according to a distributed, redundant storage process with data stored at each node and a portion of a redundant representation of the data stored at each node, skipping one remote node when redundant data is stored on a reading node, and reading data from the cluster system using a stripe row read process by applying an XOR operation to the redundant portion stored on the reading node.
The technique may include one or more of the following features. A different node may be skipped each time the XOR operation is used to balance the read operation. Each portion of the redundant data may be stored in a round-robin manner in each node of the cluster system.
An article including a computer readable medium which stores computer executable instructions for increasing the service bandwidth of a computer cluster system that includes at least three nodes is also presented. The instructions cause the cluster system to store data input according to a distributed, redundant storage process so that data is stored at each node and a portion of a redundant representation of the data is stored at each node, to skip one remote node when redundant data is stored on a reading node and none of the nodes has failed, and to read data from the cluster system using a stripe row read process by applying an XOR operation to the redundant portion stored on the reading node. The article may include one or more of the following features. The instructions may further cause the cluster system to skip a different node each time the XOR operation is used to balance the read operation. The instructions may cause each portion of the redundant data to be stored in a round-robin manner in each node of the cluster system. The instructions may further cause the method to be disabled if one of the nodes fails.
Use of the invention is advantageous because less data from remote cluster nodes must be accessed for the same service load, resulting in a reduction of the network bandwidth required. Since the network bandwidth requirement is reduced, more data can be transferred and a greater service load delivered.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.